卷積神經網路(Convolutional Neural Networks,CNN)又稱ConvNets
概念架構如下
卷積(Convolution)的基本原理,以圖像素為例,為計算特徵和圖片局部的相符程度,將像素上的值相乘,再將總和除以像素數量而得,進而將同樣的運算步驟應用在不同特徵上。
池化(Pooling) 池化會在圖片上選取不同window,並在window範圍中選擇一個最大值所以有降維但卻能保留特徵的效果。
CNN還有一個將負數轉為零的處理機制Rectified Linear Unit (ReLU)以避免運算趨近於無限大的狀況。
CNN是一個fully connected neural network, 並且有NN學習核心倒傳遞學習機制,除了運用在圖像辨識,也有應用在處理文字形態的資料。
練習:
Github: https://github.com/pipidog/CNLP
參考論文:A Sensitivity Analysis of (and Practitioners' Guide to) Convolutional Neural Networks for Sentence Classification (https://arxiv.org/abs/1510.03820)
使用者需要給定的參數包括要使用哪些 n-gram,n-gram給定的越多,上圖中的卷積層分支就會越多。此外採用global max pooling方法,此法所需要給定的參數少、計算速度也快。